package com.kaiwukj.android.ufamily.mvp.ui.widget;

import android.content.Context;
import android.os.Bundle;
import android.widget.TextView;

import androidx.appcompat.app.AlertDialog;

import com.kaiwukj.android.ufamily.R;

public class DefaultDialog extends AlertDialog {
    private TextView tvContent;
    private TextView tvConfirm;
    private TextView tvCancel;

    private String content;
    private String confirmBtMsg;

    private OkClickListener okClickListener;

    public DefaultDialog(Context context) {
        this(context, R.style.kaiwuDialog);
    }

    private DefaultDialog(Context context, int themeStyleId) {
        super(context, themeStyleId);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dialog_default);
        setCanceledOnTouchOutside(false);
        setCancelable(true);
        tvContent = findViewById(R.id.tv_content);
        tvCancel = findViewById(R.id.tv_cancel);
        tvConfirm = findViewById(R.id.tv_confirm);
        tvCancel.setOnClickListener(v -> dismiss());
        if (content != null) {
            tvContent.setText(content);
        }
        if (confirmBtMsg != null) {
            tvConfirm.setText(confirmBtMsg);
        }
        if (okClickListener != null) {
            tvConfirm.setOnClickListener(v -> {
                okClickListener.onClick(v);
                dismiss();
            });
        }
    }

    public void setContent(String msg) {
        this.content = msg;
        if (tvContent != null) {
            tvContent.setText(msg);
        }
    }

    public void setConfirmBtMsg(String msg) {
        this.confirmBtMsg = msg;
        if (tvConfirm != null) {
            tvConfirm.setText(msg);
        }
    }

    public void setOkClickListener(OkClickListener okClickListener) {
        this.okClickListener = okClickListener;
        if (tvConfirm != null) {
            tvConfirm.setOnClickListener(v -> {
                okClickListener.onClick(v);
                dismiss();
            });
        }
    }
}
